Distribution of messages (e.g., events, alerts, etc.) from a source node to a recipient node (or nodes) has often been performed using a point-to-point approach. According to such an approach, a source node (termed a publisher) may transmit the message to each of the recipient nodes (termed listeners) through a network of nodes, for example, using socket or RPC (Remote Procedure Call) mechanisms. The publisher may, in addition, also store the message in a message repository. The point-to-point approach may have a drawback, in that the message, which may often be large in size, may need to be replicated and sent to each of the recipient nodes, thereby causing a relatively heavier load on the network. Other drawbacks may include a smaller number of messages that can be transferred in unit time, message filtering policies having to be custom-defined in each of the recipient nodes, recipients having to first register with the publisher, etc.